An embedded interpreter and debugger with FACE, our scripting language, which is basically C with specialized extensions for working with interfaces and widgets. FACE script lets you specify, test, and debug GUI "behavior" or "dialog" in addition to GUI layout.
Developers can conveniently alternate between layout and behavior tasks. Switch to "try" mode anytime to see how the GUI behaves and to test behavior in real time, avoiding the lengthy compile-link-run cycle.
"XFaceMaker's built-in interpreted language for callbacks is a big plus."
(Advanced Systems)
"FACE handles the interface between application and GUI. This was
especially handy for callbacks"
(UNIX Review)
Attach scripts to interface events (such as clicking a button) and interactivly test behavior in "try" mode.
The FACE language supports all C control structures, global and local variables, arrays and hashed arrays.
FACE supports a concise naming scheme for widgets and their complex resources, saving lots of unnecessary code, overhead and tedium in behavior specification.
"The scripting language called FACE stood out. It is surprisingly complete."
(UNIX Review)
XFaceMaker Graphical Attachment Editor for Form Widget Constraint
Active Values: XFaceMaker/IL uses this unique mechanism to provide two-way sharing between application code and scripts. Provides automatically updated data broadcast from the application to the interface widgets and vice versa. Much more elegant and convenient than parameter passing. Active Values provide independence between the GUI and Application portions of your code.
Templates: All features from the IDT templates apply to callbacks as well. Templates may contain callback scripts so that instances may inherit them
Powerful Script Debugger: set breakpoints and read variables and the contents of the execution stack. Switch to "debug mode" at any time. How could any UIMS be without an embedded debugger?
"The FACE debugger speeds testing of an interface."
(Advanced Systems)
Generates standalone, compiled C code: Generated code is truly compiled, is simple to read and to match with the FACE scripts. Code is truly standalone, portable to any platform, and fully independent of XFaceMaker. We provide the source code for the "glue" library.
"An excellent feature is that it converts cleanly to C code when the
code is generated."
(Advanced Systems)
Dual Process Architecture: provides additional robustness in working with callbacks. Design errors, particularly callbacks, do not crash the tool or project as other tools do. In addition, you may load application callbacks without leaving the tool, allowing to you to run the actual application while you build your GUI.